#ifndef Md560ad083bb44e868eb6d7531459449c
#define Md560ad083bb44e868eb6d7531459449c
/**
 *   Copyright (c) Rich Hickey. All rights reserved.
 *   The use and distribution terms for this software are covered by the
 *   Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php)
 *   which can be found in the file epl-v10.html at the root of this distribution.
 *   By using this software in any fashion, you are agreeing to be bound by
 * 	 the terms of this license.
 *   You must not remove this notice, or any other, from this software.
 **/

/**
 *   Author: Timothy Baldridge
 **/

namespace clojure_lang
{
    /// <summary>
    /// A promise that the class is a collection that implements a constant-time <see cref="Counted.count()">count()</see>.
    /// </summary>
    class ICounted
    {
	public:
        /// <summary>
        /// Gets the number of items in the collection.
        /// </summary>
        /// <returns>The number of items in the collection.</returns>
        virtual int count() = 0;
    };
}

Q_DECLARE_INTERFACE(clojure_lang::ICounted, "clojure.lang.ICounted/1.0")


#endif
